﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	///<summary>
	///(Регл)
	///</summary>
	[DataContract]
	public enum УдалитьНамеченныеСобытияПоПерсоналуОрганизаций
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
		[EnumMember(Value = "{\"Ссылка\":\"4c5038b0-d93c-4f04-98e1-c9fa7c00c2af\", \"Представление\":\"Командировка\"}")]
		Командировка = 0,//Возврат из командировки
		[EnumMember(Value = "{\"Ссылка\":\"6b9730a8-730a-4b48-991c-8eede3a9d565\", \"Представление\":\"ОтпускБезСохраненияЗарплаты\"}")]
		ОтпускБезСохраненияЗарплаты = 1,//Возврат из отпуска без сохранения зарплаты
		[EnumMember(Value = "{\"Ссылка\":\"4033e4d4-a22f-4558-b0b6-47459754305d\", \"Представление\":\"ОтпускЕжегодный\"}")]
		ОтпускЕжегодный = 2,//Возврат из ежегодного отпуска
		[EnumMember(Value = "{\"Ссылка\":\"1684ee29-9079-43df-8b99-3a670545db06\", \"Представление\":\"ОтпускПоУходуЗаРебенком\"}")]
		ОтпускПоУходуЗаРебенком = 3,//Возврат из отпуска по уходу за ребенком
		[EnumMember(Value = "{\"Ссылка\":\"11e0d46b-3788-472a-b03d-73da0f379527\", \"Представление\":\"ОтпускУчебный\"}")]
		ОтпускУчебный = 4,//Возврат из учебного отпуска
		[EnumMember(Value = "{\"Ссылка\":\"68968aaf-9600-461b-bc05-d9a9eea4e1dd\", \"Представление\":\"ОтпускУчебныйНеоплачиваемый\"}")]
		ОтпускУчебныйНеоплачиваемый = 5,//Отпуск учебный неоплачиваемый
		[EnumMember(Value = "{\"Ссылка\":\"4602254c-a349-4ada-872b-eecc4e20b491\", \"Представление\":\"Перемещение\"}")]
		Перемещение = 6,
		[EnumMember(Value = "{\"Ссылка\":\"3995ebe5-dd66-4110-80ca-0ac7993e22b7\", \"Представление\":\"РезультатИспытательногоСрока\"}")]
		РезультатИспытательногоСрока = 7,//Результат испытательного срока
		[EnumMember(Value = "{\"Ссылка\":\"e388c7e6-d389-40c4-8a5b-9effbd0a6499\", \"Представление\":\"Увольнение\"}")]
		Увольнение = 8,
		[EnumMember(Value = "{\"Ссылка\":\"82c30ffe-5cc4-4736-a27d-265ab8afaaff\", \"Представление\":\"УвольнениеПослеИспытательногоСрока\"}")]
		УвольнениеПослеИспытательногоСрока = 9,//Увольнение после исп. срока
	}
	public static partial class УдалитьНамеченныеСобытияПоПерсоналуОрганизаций_Значения//:ПеречислениеСсылка
	{
		public static readonly Guid Командировка = new Guid("fac9e198-007c-afc2-4f04-d93c4c5038b0");//Возврат из командировки
		public static readonly Guid ОтпускБезСохраненияЗарплаты = new Guid("ed8e1c99-a9e3-65d5-4b48-730a6b9730a8");//Возврат из отпуска без сохранения зарплаты
		public static readonly Guid ОтпускЕжегодный = new Guid("4547b6b0-5497-5d30-4558-a22f4033e4d4");//Возврат из ежегодного отпуска
		public static readonly Guid ОтпускПоУходуЗаРебенком = new Guid("673a998b-4505-06db-43df-90791684ee29");//Возврат из отпуска по уходу за ребенком
		public static readonly Guid ОтпускУчебный = new Guid("da733db0-370f-2795-472a-378811e0d46b");//Возврат из учебного отпуска
		public static readonly Guid ОтпускУчебныйНеоплачиваемый = new Guid("a9d905bc-a4ee-dde1-461b-960068968aaf");//Отпуск учебный неоплачиваемый
		public static readonly Guid Перемещение = new Guid("ccee2b87-204e-91b4-4ada-a3494602254c");
		public static readonly Guid РезультатИспытательногоСрока = new Guid("c70aca80-3e99-b722-4110-dd663995ebe5");//Результат испытательного срока
		public static readonly Guid Увольнение = new Guid("ff9e5b8a-0abd-9964-40c4-d389e388c7e6");
		public static readonly Guid УвольнениеПослеИспытательногоСрока = new Guid("5a267da2-afb8-ffaa-4736-5cc482c30ffe");//Увольнение после исп. срока
		public static УдалитьНамеченныеСобытияПоПерсоналуОрганизаций Получить(this УдалитьНамеченныеСобытияПоПерсоналуОрганизаций Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static УдалитьНамеченныеСобытияПоПерсоналуОрганизаций Получить(this УдалитьНамеченныеСобытияПоПерсоналуОрганизаций Значение, Guid Ссылка)
		{
			if(Ссылка == Командировка)
			{
				return УдалитьНамеченныеСобытияПоПерсоналуОрганизаций.Командировка;
			}
			else if(Ссылка == ОтпускБезСохраненияЗарплаты)
			{
				return УдалитьНамеченныеСобытияПоПерсоналуОрганизаций.ОтпускБезСохраненияЗарплаты;
			}
			else if(Ссылка == ОтпускЕжегодный)
			{
				return УдалитьНамеченныеСобытияПоПерсоналуОрганизаций.ОтпускЕжегодный;
			}
			else if(Ссылка == ОтпускПоУходуЗаРебенком)
			{
				return УдалитьНамеченныеСобытияПоПерсоналуОрганизаций.ОтпускПоУходуЗаРебенком;
			}
			else if(Ссылка == ОтпускУчебный)
			{
				return УдалитьНамеченныеСобытияПоПерсоналуОрганизаций.ОтпускУчебный;
			}
			else if(Ссылка == ОтпускУчебныйНеоплачиваемый)
			{
				return УдалитьНамеченныеСобытияПоПерсоналуОрганизаций.ОтпускУчебныйНеоплачиваемый;
			}
			else if(Ссылка == Перемещение)
			{
				return УдалитьНамеченныеСобытияПоПерсоналуОрганизаций.Перемещение;
			}
			else if(Ссылка == РезультатИспытательногоСрока)
			{
				return УдалитьНамеченныеСобытияПоПерсоналуОрганизаций.РезультатИспытательногоСрока;
			}
			else if(Ссылка == Увольнение)
			{
				return УдалитьНамеченныеСобытияПоПерсоналуОрганизаций.Увольнение;
			}
			else if(Ссылка == УвольнениеПослеИспытательногоСрока)
			{
				return УдалитьНамеченныеСобытияПоПерсоналуОрганизаций.УвольнениеПослеИспытательногоСрока;
			}
			return УдалитьНамеченныеСобытияПоПерсоналуОрганизаций.ПустаяСсылка;
		}
		public static byte[] Ключ(this УдалитьНамеченныеСобытияПоПерсоналуОрганизаций Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this УдалитьНамеченныеСобытияПоПерсоналуОрганизаций Значение)
		{
			switch (Значение)
			{
				case УдалитьНамеченныеСобытияПоПерсоналуОрганизаций.Командировка: return Командировка;
				case УдалитьНамеченныеСобытияПоПерсоналуОрганизаций.ОтпускБезСохраненияЗарплаты: return ОтпускБезСохраненияЗарплаты;
				case УдалитьНамеченныеСобытияПоПерсоналуОрганизаций.ОтпускЕжегодный: return ОтпускЕжегодный;
				case УдалитьНамеченныеСобытияПоПерсоналуОрганизаций.ОтпускПоУходуЗаРебенком: return ОтпускПоУходуЗаРебенком;
				case УдалитьНамеченныеСобытияПоПерсоналуОрганизаций.ОтпускУчебный: return ОтпускУчебный;
				case УдалитьНамеченныеСобытияПоПерсоналуОрганизаций.ОтпускУчебныйНеоплачиваемый: return ОтпускУчебныйНеоплачиваемый;
				case УдалитьНамеченныеСобытияПоПерсоналуОрганизаций.Перемещение: return Перемещение;
				case УдалитьНамеченныеСобытияПоПерсоналуОрганизаций.РезультатИспытательногоСрока: return РезультатИспытательногоСрока;
				case УдалитьНамеченныеСобытияПоПерсоналуОрганизаций.Увольнение: return Увольнение;
				case УдалитьНамеченныеСобытияПоПерсоналуОрганизаций.УвольнениеПослеИспытательногоСрока: return УвольнениеПослеИспытательногоСрока;
			}
			return Guid.Empty;
		}
	}
}